1. Field of the Invention
The present invention relates generally to software processing, and more particularly, to methods and systems for grouping a plurality of tasks for execution by a plurality of processing resources.
2. Description of the Related Art
As the use of software in performing daily tasks is increasing rapidly, assessing software reliability through software testing has become an imperative stage in software development cycle. As is well known, software testing is used to find and eliminate defects (i.e., bugs) in software, which if undetected, can cause the software to operate improperly. In general, software testing may be performed by implementing a stand-alone computer or a network of computer resources. Typically, when a test is executed by a stand-alone computer, the software user must manually program the stand-alone computer system to run the test. That is, to submit a new test, modify or terminate an existing test, obtain the status of the tests currently running, or view or analyze test results, the software user must be able to physically access the computer lab and the stand-alone computer system. In doing so, the software user must manually start the execution of each of the tasks.
Comparatively, when a network of computer resources is used, the users are responsible for manually adding and deleting the computer resources to the network, programming the master computer system and the server, initiating the running of a user-selected test, running the test on the group of dedicated computer systems coupled to the server, storing and maintaining the text or Hyper Text Markup Language (hereinafter, “HTML”) files containing the test results, viewing the test result files, and analyzing the test results. Again, to perform any of these tasks, a user must have physical access to each of the dedicated computer systems and must manually initiate the running of each of the tasks. Additionally, all of the tasks are initiated separately and simultaneously using the system console. As a result, the network of the computer resources is very inflexible, as it treats all tasks similarly and runs all tasks concurrently irrespective of the nature of each task.
Additionally, in either scenario, a heavy user interface is required for initiating the software testing on the master computer, scheduling the running of specific tests on the system resources, adding and deleting of the system resources, keeping track of the system resources and their respective hardware and software configuration, and maintaining the system resources. Moreover, in either case, the software testing is performed by dedicated system resources. That is, the system resources are designed to solely be used for software testing.
In view of the foregoing, there is a need for a flexible methodology and system capable of grouping a plurality of tasks having similar or different processing orders for execution by different computer resources.